package models;


import java.util.Date;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.OneToMany;

import play.db.jpa.Model;


@Entity
public class Semestre extends Model {

	@Column(unique=true)
	public String descricao;
	public Date dataInicio;
	public Date dataFim;
	public Date dataInicioInscricoes;
	public Date dataFiminscricoes;
	public Date dataSorteio;
	public boolean sorteioRealizado;
	public double valorAvista;
	public double valorParcelado;
	public int numMaxParcelas;
	public double valorMatricula;
	public boolean ativo;
	
	@OneToMany(mappedBy = "semestre")
	public List<Nivel_Semestre> niveisSemestre;	
	
	@Override
	public int hashCode() {
		Long i = this.id;
		return 31 + ((i == null) ? 0 : i.hashCode());
	}
	
	@Override
	public boolean equals(Object o) {
		
		if (o instanceof Semestre) {			
			Semestre s = (Semestre) o;			
			if (s.getId() == this.id &&	s.descricao.equalsIgnoreCase(this.descricao) && s.ativo == this.ativo)
				return true;
		}
		return false;
	}
}
